"""pythonDjangoDemo URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from django.db import router
from django.urls import path, include
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from rest_framework import permissions
from rest_framework.routers import DefaultRouter

from action import *
# # 导入辅助函数get_schema_view
# from rest_framework.schemas import get_schema_view
# # 导入两个类
# from rest_framework_swagger.renderers import SwaggerUIRenderer,OpenAPIRenderer
# schema_view = get_schema_view(title='api', renderer_classes=[SwaggerUIRenderer, OpenAPIRenderer])

from data import views



schema_view = get_schema_view(
   openapi.Info(
      title="测试工程API",
      default_version='v1.0',
      description="测试工程接口文档",
      # terms_of_service="https://www.cnblogs.com/jinjiangongzuoshi/",
      contact=openapi.Contact(email="波波"),
      license=openapi.License(name="BSD License"),
   ),
   public=True,
   permission_classes=(permissions.AllowAny,),
)

router = DefaultRouter()
router.register(r'student', views.StudentViewSet, basename='student')

urlpatterns = [

    path('admin/', admin.site.urls),

    # 配置django-rest-framwork API路由
    path('api/', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),

    # 配置drf-yasg路由
    url('^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
    path('docs/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),

    # path('admin/', admin.site.urls),
    # path('api/', include(router.urls)),
    # path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    # # path('docs/', schema_view, name='docs'),  # 配置docs的url路
    #
    # # 配置drf-yasg路由
    # path('^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
    # path('swagger', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    # path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),

    #
    # url(r'^api/', include(router.urls)),
    # # path('admin/', admin.site.urls),
    # # path('', hello.hello),
    # # path('', include(router.urls)),
    # # path('test', hello.test),
    # # path('test1', hello.test1),
    # # path('exception', hello.exception),
    # # path('temTest', hello.temTest),
    #
    # path('docs/', schema_view, name='docs'),  # 配置docs的url路径
    # # url(r'', hello.hello),
    # # url(r'test',hello.test)
]
